Amazon Cognito で検証メッセージの自動送信を無効化していますが、メッセージが自動送信されるのはなぜですか?
聞きたいこと
以下の設定でAmazon Cognito ユーザープールを作成しました。
MFA登録時にメッセージが自動送信されましたが、検証メッセージの自動送信を無効化していたにもかかわらず、なぜメッセージが送信されたのか理由を教えてください。
設定内容
- サインインオプション:Eメールアドレスのみ
- 多要素認証(MFA):SMSメッセージを有効化
- 自己登録:無効
- Hosted UI:有効
- 検証メッセージの自動送信:無効
事象の流れ
- ユーザーを作成し、パスワードを含む招待メールをユーザーのメールアドレスに送信
- ユーザーがログイン画面でEメールアドレスと受け取ったパスワードを入力
- ユーザーがパスワードを変更し、MFAのSMS登録のために電話番号を入力
- 検証メッセージの自動送信を無効化していたにもかかわらず、入力した電話番号に6桁のコードを含むメッセージが自動送信された
回答
MFAの登録時に送信されるメッセージは、検証メッセージではなく、MFAメッセージです。
MFAメッセージと検証メッセージの違いは以下の通りです。
- 検証メッセージ:ユーザーのサインアップ時やユーザー属性の更新時に送信される
- MFAメッセージ:MFAのSMSが有効な場合に限り、ユーザーのサインイン時やMFA登録時に送信される
[Cognito アシスト型の検証および確認]は、検証メッセージを自動的に送信するかどうかを設定するオプションです。
MFAの登録時に送信されるメッセージは検証メッセージではなくMFAメッセージであるため、検証メッセージの自動送信を無効化しても、MFAメッセージの送信は影響を受けません。
メッセージ内容の違い
ちなみに、検証メッセージとMFAメッセージは、デフォルトのメッセージ内容も異なります。
検証メッセージ(SMS or E メール)
Your verification code is {####}.
MFAメッセージ(SMS)
Your authentication code is {####}.
{####}
の部分は、検証メッセージでは「検証コード」、MFAメッセージでは「認証コード」と呼ばれます。
参考